/*
 * FlatShader.h
 *
 *  Created on: 27-06-2013
 *      Author: Jarek
 */

#ifndef FLATSHADER_H_
#define FLATSHADER_H_

#include <GlobalData.h>
#include "Shader.h"

class Texture;

class FlatShader : public Shader {
public:
	struct
	{
		GLint projectionMatrix;
		GLint texture;
	}uniforms;

	struct
	{
		GLint position;
		GLint texCoords;
	}attributes;

public:
	FlatShader(char* VSPath, char* FSPath);
	virtual ~FlatShader();

	virtual void 		useAttributes(bool isAttributes = true);
	void				draw(Matrix4x4<float> projectionMatrix, GLuint indices, GLuint position, GLuint texCoords, const Texture& texture, uint verticesCount = 6);
};

#endif /* FLATSHADER_H_ */
